json

您所在的位置:网站首页 json jsonc json

json

2024-07-14 03:44| 来源: 网络整理| 查看: 265

写好的程序调用了json-c库,但是由于json-c库是gcc编译出来的,调用libjson-c.so库的时候报错:

./lib/libjson-c.so: file not recognized: 不可识别的文件格式

于是想到json库需要交叉编译一下,具体交叉编译流程如下:

我查的网上都是sh autogen.sh,./configure编译的json,但是我下在的json库没有这些文件,可能是最新的json有修改吧,我的流程如下:

1.下载json-c库

git clone https://github.com/json-c/json-c.git

2. 新建输出目录

mkdir json-c-build

cd json-c-build

cmake ../json-c

3.修改txt文件

进入json-c-build,打开CMakeCache.txt文件

Vim CMakeCache.txt

修改代码:

CMAKE_C_COMPILER:FILEPATH=/usr/sbin/cc

改为

CMAKE_C_COMPILER:FILEPATH=arm-linux-gcc(你的交叉编译工具)

4.编译

执行make,make install即可得到交叉编译的库。

内部变量

在CMakeCache.txt文件中指定,也可以执行make的时候作为参数传入

CMAKE_C_COMPILER:指定C编译器

CMAKE_CXX_COMPILER:

CMAKE_C_FLAGS:编译C文件时的选项,如-g;也可以通过add_definitions添加编译选项

EXECUTABLE_OUTPUT_PATH:可执行文件的存放路径

LIBRARY_OUTPUT_PATH:库文件路径

CMAKE_BUILD_TYPE::build 类型(Debug, Release, ...),CMAKE_BUILD_TYPE=Debug

BUILD_SHARED_LIBS:Switch between shared and static libraries



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3